跳到主要内容

useContext

在组件的顶层调用 useContext 来读取和订阅 context。

import { createContext, useContext, useState } from "react";

const ThemeContext = createContext(null);

export default function MyApp() {
const [theme, setTheme] = useState("light");

return (
<ThemeContext.Provider value={theme}>
<Panel title="Welcome">{/* ... */}</Panel>
</ThemeContext.Provider>
);
}

function Panel({ title, children }) {
const theme = useContext(ThemeContext);
const className = "panel-" + theme;

return (
<section className={className}>
<h1>{title}</h1>
{children}
</section>
);
}